/**
 * 数字千分位分开
 * @param {*} v 值
 * @returns
 */
function format(v) {
  const reg = /\d{1,3}(?=(\d{3})+$)/g
  return `${v}`.replace(reg, '$&,')
}

/**
 * 数字 %
 * @param {*} o 对象
 * @param {*} k 键值对
 * @returns
 */
function wrapperPercentage(o, k) {
  return o && o[k] ? `${o[k]}%` : '0%'
}
// 金钱千分位
function wrapperMoney(o, k) {
  return o && o[k] ? `¥ ${format(o[k])}` : '¥ 0.00'
}
// 获取数字 - 格式化为千分位
function wrapperNumber(o, k) {
  return o && o[k] ? format(o[k]) : 0
}
// 获取数字
function wrapperOriginalNumber(o, k) {
  return o && o[k] ? o[k] : 0
}
// 获取数组某值
function wrapperArray(o, k) {
  return o && o[k] ? o[k] : []
}

export default {
  inject: ['getReportData', 'getWordCloud', 'getMapData'],
  computed: {
    reportData() {
      return this.getReportData()
    },
    wordCloud() {
      return this.getWordCloud()
    },
    mapData() {
      return this.getMapData()
    },
    // 累计销售额
    salesToday() {
      return wrapperMoney(this.reportData, 'salesToday')
    },
    // 日同比
    salesGrowthLastDay() {
      return wrapperPercentage(this.reportData, 'salesGrowthLastDay')
    },
    // 月同比
    salesGrowthLastMonth() {
      return wrapperPercentage(this.reportData, 'salesGrowthLastMonth')
    },
    // 昨日销售额
    salesLastDay() {
      return wrapperMoney(this.reportData, 'salesLastDay')
    }
  }
}
